const type = process.env.npm_lifecycle_script.match(/\-\-type\s(\w+)\b/g);
console.log(type, RegExp.$1);
const config = {
    projectName: 'cam_js',
    date: '2020-2-4',
    designWidth: 750,
    deviceRatio: {
        '640': 2.34 / 2,
        '750': 1,
        '828': 1.81 / 2
    },
    sourceRoot: 'src',
    outputRoot: 'dist-' + RegExp.$1,
    plugins: {
        babel: {
            sourceMap: true,
            presets: [
                'env'
            ],
            plugins: [
                'transform-decorators-legacy',
                'transform-class-properties',
                'transform-object-rest-spread'
            ]
        },
        uglifyjs: {
            enable: true,
            config: {
                // 配置项同 https://github.com/mishoo/UglifyJS2#minify-options
                compress: {
                    // warnings: false,  // 在UglifyJs删除没有用到的代码时不输出警告
                    drop_debugger: true,
                    drop_console: true,  // 删除所有的 `console` 语句，可以兼容ie浏览器
                },
                output: {
                    beautify: false,  // 最紧凑的输出
                    comments: false,  // 删除所有的注释
                }
            }
        },
        csso: {
            enable: true,
            config: {
                // 配置项同 https://github.com/css/csso#minifysource-options
            }
        }
    },
    defineConstants: {},
    copy: {
        patterns: [],
        options: {}
    },
    weapp: {
        compile: {
            exclude: ['../src/asset/style/**.scss']
        },
        module: {
            postcss: {
                autoprefixer: {
                    enable: true,
                    config: {
                        browsers: [
                            'last 3 versions',
                            'Android >= 4.1',
                            'ios >= 8'
                        ]
                    }
                },
                pxtransform: {
                    enable: true,
                    config: {}
                },
                url: {
                    enable: true,
                    config: {
                        limit: 10240 // 设定转换尺寸上限
                    }
                },
                cssModules: {
                    enable: false, // 默认为 false，如需使用 css modules 功能，则设为 true
                    config: {
                        namingPattern: 'module', // 转换模式，取值为 global/module
                        generateScopedName: '[name]__[local]___[hash:base64:5]'
                    }
                }
            }
        }
    },
    h5: {
        publicPath: '/',
        staticDirectory: 'static',
        esnextModules: ['taro-ui'],
        module: {
            postcss: {
                autoprefixer: {
                    enable: true,
                    config: {
                        browsers: [
                            'last 3 versions',
                            'Android >= 4.1',
                            'ios >= 8'
                        ]
                    }
                },
                cssModules: {
                    enable: false, // 默认为 false，如需使用 css modules 功能，则设为 true
                    config: {
                        namingPattern: 'module', // 转换模式，取值为 global/module
                        generateScopedName: '[name]__[local]___[hash:base64:5]'
                    }
                }
            }
        }
    }
}

module.exports = function (merge) {
    if ((/\-\-watch/g).test(process.env.npm_lifecycle_script)) {
        return merge({}, config, require('./dev'))
    }
    return merge({}, config, require('./prod'))
}
